var DynamicIndexSettings = (function() {
  var settings = {
    'mapper.dynamic': true,
    'max_refresh_listeners': true,
    'number_of_replicas': true,
    'allocation.max_retries': true,
    'auto_expand_replicas': true,
    'blocks.metadata': true,
    'blocks.read': true,
    'blocks.read_only': true,
    'blocks.read_only_allow_delete': true,
    'blocks.write': true,
    'compound_format': true,
    'gc_deletes': true,
    'indexing.slowlog.level': true,
    'indexing.slowlog.reformat': true,
    'indexing.slowlog.source': true,
    'indexing.slowlog.threshold.index.debug': true,
    'indexing.slowlog.threshold.index.info': true,
    'indexing.slowlog.threshold.index.trace': true,
    'indexing.slowlog.threshold.index.warn': true,
    'mapping.depth.limit': true,
    'mapping.nested_fields.limit': true,
    'mapping.total_fields.limit': true,
    'max_adjacency_matrix_filters': true,
    'max_rescore_window': true,
    'max_result_window': true,
    'max_slices_per_scroll': true,
    'merge.policy.expunge_deletes_allowed': true,
    'merge.policy.floor_segment': true,
    'merge.policy.max_merge_at_once': true,
    'merge.policy.max_merge_at_once_explicit': true,
    'merge.policy.max_merged_segment': true,
    'merge.policy.reclaim_deletes_weight': true,
    'merge.policy.segments_per_tier': true,
    'merge.scheduler.auto_throttle': true,
    'merge.scheduler.max_merge_count': true,
    'merge.scheduler.max_thread_count': true,
    'optimize_auto_generated_id': true,
    'priority': true,
    'recovery.initial_shards': true,
    'refresh_interval': true,
    'requests.cache.enable': true,
    'routing.allocation.enable': true,
    'routing.allocation.total_shards_per_node': true,
    'routing.rebalance.enable': true,
    'search.slowlog.level': true,
    'search.slowlog.threshold.fetch.debug': true,
    'search.slowlog.threshold.fetch.info': true,
    'search.slowlog.threshold.fetch.trace': true,
    'search.slowlog.threshold.fetch.warn': true,
    'search.slowlog.threshold.query.debug': true,
    'search.slowlog.threshold.query.info': true,
    'search.slowlog.threshold.query.trace': true,
    'search.slowlog.threshold.query.warn': true,
    'shared_filesystem.recover_on_any_node': true,
    'store.throttle.max_bytes_per_sec': true,
    'store.throttle.type': true,
    'translog.durability': true,
    'translog.flush_threshold_size': true,
    'ttl.disable_purge': true,
    'unassigned.node_left.delayed_timeout': true,
    'warmer.enabled': true,
    'write.wait_for_active_shards': true
  };

  return {
    valid: function(setting) {
      return settings[setting] || false;
    }
  };
})();

